﻿using UnityEngine;
using System.Text.RegularExpressions;
using LitJson;

namespace CGF
{
    public static class Utils
    {
        public static string RemoveMarkdown(string markdownText)
        {
            if (string.IsNullOrEmpty(markdownText))
            {
                return markdownText;
            }

            string plainText = MarkdownPattern.Replace(markdownText, "");
            plainText = Regex.Replace(plainText, @"\\([*_`~\[\]()#\\])", "$1");
            return plainText.Trim();
        }

        private static readonly Regex MarkdownPattern = new Regex(
            @"(\*{1,3}|_{1,3}|`{1,3}|~{2}|!?\[.*?\]\(.*?\)|#{1,6}\s*|>\s*|\|\s*.+?\s*\|)|<.*?>",
            RegexOptions.Compiled | RegexOptions.Multiline
        );
		

        public static string GetI18N(string content)
        {
            if (content.StartsWith("{"))
            {
                JsonData json = JsonMapper.ToObject(content);
                string key = "";
                switch (I18N.CurrLanguage)
                {
                    case ELanguage.ZH_CN: key = "zh"; break;
                    case ELanguage.EN_US: key = "en"; break;
                    case ELanguage.PT_BR: key = "pt"; break;
                    case ELanguage.VI_VN: key = "vi"; break;
                }
                if (!string.IsNullOrEmpty(key))
                {
                    if (json.Contains(key))
                    {
                        return json[key].ToString();
                    }
                    else
                    {
                        Debug.Log($"key {key} 不存在：{content}");
                        foreach (var k in json.Keys)
                        {
                            return json[k].ToString();
                        }
                    }
                }

                // en:'英文',
                // zh:'中文',
                // vi:'越南语',
                // ja:'日语',
                // ko:'韩语',
                // th:'泰语',
                // ru:'俄语',
                // de:'德语',
                // fr:'法语',
                // it:'意大利语',
                // pt:'葡萄牙语',
                // es:'西班牙语',
                // ar:'阿拉伯语',
                // hi:'印地语',
                // tr:'土耳其语',
                // id:'印尼语',
                // pl:'波兰语',
                // sv:'瑞典语',
            }
            return content;
        }
    }
}
